/**
 * 
 */
package valueObjects.game.card.door;




/**
 * This card represents a monstercard
 *
 */
public class MonsterCard extends DoorCard {

	private static final long serialVersionUID = 1L;

	private short monsterLevel;
	
	private boolean isUndead;
	
	private short scoreLevel;
	
	private String badThings;
	
	private short countOfTreasures;
	
	/**
	 * Returns the level of the monster
	 * @return the monsterLevel
	 */
	public short getMonsterLevel() {
		return monsterLevel;
	}

	/**
	 * Sets the level of the monster
	 * @param monsterLevel the monsterLevel to set
	 */
	public void setMonsterLevel(short monsterLevel) {
		this.monsterLevel = monsterLevel;
	}

	/**
	 * Returns whether the monster is undead or not
	 * @return the isUndead
	 */
	public boolean isUndead() {
		return isUndead;
	}

	/**
	 * Sets whether the monster is undead or not
	 * @param isUndead the isUndead to set
	 */
	public void setUndead(short isUndead) {
		this.isUndead = isUndead == 0 ? false : true;
	}

	/**
	 * Returns how many levels are gained by defeating the monster
	 * @return the scoreLevel
	 */
	public short getScoreLevel() {
		return scoreLevel;
	}

	/**
	 * Sets how many levels are gained by defeating the monster
	 * @param scoreLevel the scoreLevel to set
	 */
	public void setScoreLevel(short scoreLevel) {
		this.scoreLevel = scoreLevel;
	}

	/**
	 * Returns the bad things that happen when the fight is lost
	 * @return the badThings
	 */
	public String getBadThings() {
		return badThings;
	}

	/**
	 * Sets the bad things that happen when the fight is lost
	 * @param badThings the badThings to set
	 */
	public void setBadThings(String badThings) {
		this.badThings = badThings;
	}

	/**
	 * Returns how many treasures the monster carries
	 * @return the countOfTreasures
	 */
	public short getCountOfTreasures() {
		return countOfTreasures;
	}

	/**
	 * Sets how many treasures the monster carries
	 * @param countOfTreasures the countOfTreasures to set
	 */
	public void setCountOfTreasures(short countOfTreasures) {
		this.countOfTreasures = countOfTreasures;
	}

	public String toString() {
		return (this.monsterLevel + " / " + this.isUndead + " / " + this.scoreLevel+ " / "+ this.badThings + " / " + this.countOfTreasures);
	}

	@Override
	public String getType() {
		return "monster";
	}
	
}
